The present invention relates in general to computer keyboards, and in particular, to power saving techniques for computer keyboards and keyboard self-test methods.
Keyboards attached to computers utilize their own processor (microcontroller) for scanning the keys for detection of a user pressing a key. The processor then encodes which key was pressed, and sends this code to the computer processor. Refer to U.S. Pat. No. 5,355,503 for further discussion of this process.
An important factor is that the keyboard processor is perpetually scanning for the detection of a pressed key, which requires a continual supply of power. In many computer configurations, especially notebook computers, power saving is of utmost importance. Therefore, there are needs to place the keyboard processor and its accompanying circuitry into a suspend mode whereby the processor no longer scans for key hits, but is instead placed into a sleep or suspend mode. The problem is implementing circuitry to exit the keyboard processor out of the suspend mode so that it can detect and encode key hits under normal operation, without requiring an extra input step by the user.
Furthermore, it is important to implement keyboard self-tests, which enhance the manufacturability and maintainability in the field of keyboards.
The present invention enables a keyboard to be xe2x80x9cawakenedxe2x80x9d from suspend mode when any key is pressed, which then enables the keyboard to remotely wake up its host. The universal serial bus (USB) specification limits the bus current consumed by a suspended USB function to 2.5 milliamps (the limit was previously 500 microamps). The Intel USB microprocessor consumes too much power to be used during suspend mode, so it is very difficult to scan a keyboard during suspend mode. However, the present invention is not limited to use in USB keyboards.
In the present invention, when a key is pressed, its switch connects a row and a column in a matrix for decoding which keys are pressed. Detection of which row is connected to which column enables the keyboard""s microprocessor to determine which key is pressed. When the keyboard is in a suspend mode, no current flows through the keyboard matrix driving and sense lines. However, when a key is pressed, current will be conducted from a sense line to a drive line and through one of several diodes, to produce a xe2x80x9ckey hitxe2x80x9d signal that is communicated to the keyboard processor. Upon receipt of this key hit signal, the keyboard processor will exit out of suspend mode thereby resuming scanning of the key matrix for key presses. The xe2x80x9ckey hitxe2x80x9d signal does not indicate which key was pressed.
The xe2x80x9cwake-upxe2x80x9d circuitry is also used to perform part of the keyboard""s self-test to ensure the key matrix drive circuitry is working. The self-test is further enhanced by the keyboard""s capability of changing the key matrix sense line pull-up resistors into pull-down resistors and then having the processor read the difference.
The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention.